<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // let 关键词声明的变量具有块级作用域
      if (true) {
        let b = 20;
        console.log(b); // 20
        if (true) {
          let c = 30;
        }
        console.log(c); //只能在声明的大括号里面访问
      }
      console.log(b); // 报错
      if (true) {
        let num = 100;
        var abc = 200;
      }
      console.log(abc); // 200
      console.log(num); // 报错
      for (let i = 0; i < 2; i++) {}
      console.log(i); //无法访问到 防止循环变量变成全局变量
      //   let 不存在变量提升
      console.log(s); // s未定义 会报错
      let s = 20;
      // 暂时性死区
      var num = 10;
      if (true) {
        console.log(num);
        let num = 20; // 使用了let关键词 会绑定了这个作用域 先打印num会报错
      }
    </script>
  </body>
</html>
